package pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class WlSysDictExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WlSysDictExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeIsNull() {
            addCriterion("catalogCode is null");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeIsNotNull() {
            addCriterion("catalogCode is not null");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeEqualTo(String value) {
            addCriterion("catalogCode =", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeNotEqualTo(String value) {
            addCriterion("catalogCode <>", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeGreaterThan(String value) {
            addCriterion("catalogCode >", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeGreaterThanOrEqualTo(String value) {
            addCriterion("catalogCode >=", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeLessThan(String value) {
            addCriterion("catalogCode <", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeLessThanOrEqualTo(String value) {
            addCriterion("catalogCode <=", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeLike(String value) {
            addCriterion("catalogCode like", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeNotLike(String value) {
            addCriterion("catalogCode not like", value, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeIn(List<String> values) {
            addCriterion("catalogCode in", values, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeNotIn(List<String> values) {
            addCriterion("catalogCode not in", values, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeBetween(String value1, String value2) {
            addCriterion("catalogCode between", value1, value2, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalogcodeNotBetween(String value1, String value2) {
            addCriterion("catalogCode not between", value1, value2, "catalogcode");
            return (Criteria) this;
        }

        public Criteria andCatalognameIsNull() {
            addCriterion("catalogName is null");
            return (Criteria) this;
        }

        public Criteria andCatalognameIsNotNull() {
            addCriterion("catalogName is not null");
            return (Criteria) this;
        }

        public Criteria andCatalognameEqualTo(String value) {
            addCriterion("catalogName =", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameNotEqualTo(String value) {
            addCriterion("catalogName <>", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameGreaterThan(String value) {
            addCriterion("catalogName >", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameGreaterThanOrEqualTo(String value) {
            addCriterion("catalogName >=", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameLessThan(String value) {
            addCriterion("catalogName <", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameLessThanOrEqualTo(String value) {
            addCriterion("catalogName <=", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameLike(String value) {
            addCriterion("catalogName like", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameNotLike(String value) {
            addCriterion("catalogName not like", value, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameIn(List<String> values) {
            addCriterion("catalogName in", values, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameNotIn(List<String> values) {
            addCriterion("catalogName not in", values, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameBetween(String value1, String value2) {
            addCriterion("catalogName between", value1, value2, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalognameNotBetween(String value1, String value2) {
            addCriterion("catalogName not between", value1, value2, "catalogname");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueIsNull() {
            addCriterion("catalogValue is null");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueIsNotNull() {
            addCriterion("catalogValue is not null");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueEqualTo(String value) {
            addCriterion("catalogValue =", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueNotEqualTo(String value) {
            addCriterion("catalogValue <>", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueGreaterThan(String value) {
            addCriterion("catalogValue >", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueGreaterThanOrEqualTo(String value) {
            addCriterion("catalogValue >=", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueLessThan(String value) {
            addCriterion("catalogValue <", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueLessThanOrEqualTo(String value) {
            addCriterion("catalogValue <=", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueLike(String value) {
            addCriterion("catalogValue like", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueNotLike(String value) {
            addCriterion("catalogValue not like", value, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueIn(List<String> values) {
            addCriterion("catalogValue in", values, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueNotIn(List<String> values) {
            addCriterion("catalogValue not in", values, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueBetween(String value1, String value2) {
            addCriterion("catalogValue between", value1, value2, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogvalueNotBetween(String value1, String value2) {
            addCriterion("catalogValue not between", value1, value2, "catalogvalue");
            return (Criteria) this;
        }

        public Criteria andCatalogdescIsNull() {
            addCriterion("catalogDesc is null");
            return (Criteria) this;
        }

        public Criteria andCatalogdescIsNotNull() {
            addCriterion("catalogDesc is not null");
            return (Criteria) this;
        }

        public Criteria andCatalogdescEqualTo(String value) {
            addCriterion("catalogDesc =", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescNotEqualTo(String value) {
            addCriterion("catalogDesc <>", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescGreaterThan(String value) {
            addCriterion("catalogDesc >", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescGreaterThanOrEqualTo(String value) {
            addCriterion("catalogDesc >=", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescLessThan(String value) {
            addCriterion("catalogDesc <", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescLessThanOrEqualTo(String value) {
            addCriterion("catalogDesc <=", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescLike(String value) {
            addCriterion("catalogDesc like", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescNotLike(String value) {
            addCriterion("catalogDesc not like", value, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescIn(List<String> values) {
            addCriterion("catalogDesc in", values, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescNotIn(List<String> values) {
            addCriterion("catalogDesc not in", values, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescBetween(String value1, String value2) {
            addCriterion("catalogDesc between", value1, value2, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andCatalogdescNotBetween(String value1, String value2) {
            addCriterion("catalogDesc not between", value1, value2, "catalogdesc");
            return (Criteria) this;
        }

        public Criteria andKeycodeIsNull() {
            addCriterion("keyCode is null");
            return (Criteria) this;
        }

        public Criteria andKeycodeIsNotNull() {
            addCriterion("keyCode is not null");
            return (Criteria) this;
        }

        public Criteria andKeycodeEqualTo(String value) {
            addCriterion("keyCode =", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeNotEqualTo(String value) {
            addCriterion("keyCode <>", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeGreaterThan(String value) {
            addCriterion("keyCode >", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeGreaterThanOrEqualTo(String value) {
            addCriterion("keyCode >=", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeLessThan(String value) {
            addCriterion("keyCode <", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeLessThanOrEqualTo(String value) {
            addCriterion("keyCode <=", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeLike(String value) {
            addCriterion("keyCode like", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeNotLike(String value) {
            addCriterion("keyCode not like", value, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeIn(List<String> values) {
            addCriterion("keyCode in", values, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeNotIn(List<String> values) {
            addCriterion("keyCode not in", values, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeBetween(String value1, String value2) {
            addCriterion("keyCode between", value1, value2, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeycodeNotBetween(String value1, String value2) {
            addCriterion("keyCode not between", value1, value2, "keycode");
            return (Criteria) this;
        }

        public Criteria andKeynameIsNull() {
            addCriterion("keyName is null");
            return (Criteria) this;
        }

        public Criteria andKeynameIsNotNull() {
            addCriterion("keyName is not null");
            return (Criteria) this;
        }

        public Criteria andKeynameEqualTo(String value) {
            addCriterion("keyName =", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotEqualTo(String value) {
            addCriterion("keyName <>", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameGreaterThan(String value) {
            addCriterion("keyName >", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameGreaterThanOrEqualTo(String value) {
            addCriterion("keyName >=", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameLessThan(String value) {
            addCriterion("keyName <", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameLessThanOrEqualTo(String value) {
            addCriterion("keyName <=", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameLike(String value) {
            addCriterion("keyName like", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotLike(String value) {
            addCriterion("keyName not like", value, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameIn(List<String> values) {
            addCriterion("keyName in", values, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotIn(List<String> values) {
            addCriterion("keyName not in", values, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameBetween(String value1, String value2) {
            addCriterion("keyName between", value1, value2, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeynameNotBetween(String value1, String value2) {
            addCriterion("keyName not between", value1, value2, "keyname");
            return (Criteria) this;
        }

        public Criteria andKeydescIsNull() {
            addCriterion("keyDesc is null");
            return (Criteria) this;
        }

        public Criteria andKeydescIsNotNull() {
            addCriterion("keyDesc is not null");
            return (Criteria) this;
        }

        public Criteria andKeydescEqualTo(String value) {
            addCriterion("keyDesc =", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescNotEqualTo(String value) {
            addCriterion("keyDesc <>", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescGreaterThan(String value) {
            addCriterion("keyDesc >", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescGreaterThanOrEqualTo(String value) {
            addCriterion("keyDesc >=", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescLessThan(String value) {
            addCriterion("keyDesc <", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescLessThanOrEqualTo(String value) {
            addCriterion("keyDesc <=", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescLike(String value) {
            addCriterion("keyDesc like", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescNotLike(String value) {
            addCriterion("keyDesc not like", value, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescIn(List<String> values) {
            addCriterion("keyDesc in", values, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescNotIn(List<String> values) {
            addCriterion("keyDesc not in", values, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescBetween(String value1, String value2) {
            addCriterion("keyDesc between", value1, value2, "keydesc");
            return (Criteria) this;
        }

        public Criteria andKeydescNotBetween(String value1, String value2) {
            addCriterion("keyDesc not between", value1, value2, "keydesc");
            return (Criteria) this;
        }

        public Criteria andParentidIsNull() {
            addCriterion("parentId is null");
            return (Criteria) this;
        }

        public Criteria andParentidIsNotNull() {
            addCriterion("parentId is not null");
            return (Criteria) this;
        }

        public Criteria andParentidEqualTo(Integer value) {
            addCriterion("parentId =", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidNotEqualTo(Integer value) {
            addCriterion("parentId <>", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidGreaterThan(Integer value) {
            addCriterion("parentId >", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidGreaterThanOrEqualTo(Integer value) {
            addCriterion("parentId >=", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidLessThan(Integer value) {
            addCriterion("parentId <", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidLessThanOrEqualTo(Integer value) {
            addCriterion("parentId <=", value, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidIn(List<Integer> values) {
            addCriterion("parentId in", values, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidNotIn(List<Integer> values) {
            addCriterion("parentId not in", values, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidBetween(Integer value1, Integer value2) {
            addCriterion("parentId between", value1, value2, "parentid");
            return (Criteria) this;
        }

        public Criteria andParentidNotBetween(Integer value1, Integer value2) {
            addCriterion("parentId not between", value1, value2, "parentid");
            return (Criteria) this;
        }

        public Criteria andValidflagIsNull() {
            addCriterion("validFlag is null");
            return (Criteria) this;
        }

        public Criteria andValidflagIsNotNull() {
            addCriterion("validFlag is not null");
            return (Criteria) this;
        }

        public Criteria andValidflagEqualTo(String value) {
            addCriterion("validFlag =", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagNotEqualTo(String value) {
            addCriterion("validFlag <>", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagGreaterThan(String value) {
            addCriterion("validFlag >", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagGreaterThanOrEqualTo(String value) {
            addCriterion("validFlag >=", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagLessThan(String value) {
            addCriterion("validFlag <", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagLessThanOrEqualTo(String value) {
            addCriterion("validFlag <=", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagLike(String value) {
            addCriterion("validFlag like", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagNotLike(String value) {
            addCriterion("validFlag not like", value, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagIn(List<String> values) {
            addCriterion("validFlag in", values, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagNotIn(List<String> values) {
            addCriterion("validFlag not in", values, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagBetween(String value1, String value2) {
            addCriterion("validFlag between", value1, value2, "validflag");
            return (Criteria) this;
        }

        public Criteria andValidflagNotBetween(String value1, String value2) {
            addCriterion("validFlag not between", value1, value2, "validflag");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeIsNull() {
            addCriterion("createdTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeIsNotNull() {
            addCriterion("createdTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeEqualTo(Date value) {
            addCriterion("createdTime =", value, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeNotEqualTo(Date value) {
            addCriterion("createdTime <>", value, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeGreaterThan(Date value) {
            addCriterion("createdTime >", value, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("createdTime >=", value, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeLessThan(Date value) {
            addCriterion("createdTime <", value, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeLessThanOrEqualTo(Date value) {
            addCriterion("createdTime <=", value, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeIn(List<Date> values) {
            addCriterion("createdTime in", values, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeNotIn(List<Date> values) {
            addCriterion("createdTime not in", values, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeBetween(Date value1, Date value2) {
            addCriterion("createdTime between", value1, value2, "createdtime");
            return (Criteria) this;
        }

        public Criteria andCreatedtimeNotBetween(Date value1, Date value2) {
            addCriterion("createdTime not between", value1, value2, "createdtime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("updateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("updateTime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("updateTime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("updateTime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updateTime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("updateTime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("updateTime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("updateTime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("updateTime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("updateTime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("updateTime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}